//-----------------------------------------------------------------------------
// File: FormatterAttribute.cs
//
// Copyright (c) Dmitry Shuklin. All rights reserved.
//-----------------------------------------------------------------------------
using System;

namespace ObjectiveDraw.Platform.Serialization
{
	/// <summary>
	/// Summary description for FormatterAttribute.
	/// </summary>
	public class FormatterAttribute : System.Attribute 
	{
		public string FormatterType;
		public object [] Parameters;

		public FormatterAttribute(System.Type formatterType)
		{
			this.FormatterType = formatterType.AssemblyQualifiedName;
			this.Parameters = null;
		}

		public FormatterAttribute(System.Type formatterType, object parameter1)
		{
			this.FormatterType = formatterType.AssemblyQualifiedName;
			this.Parameters = new object[] {parameter1};
		}

		public FormatterAttribute(System.Type formatterType, object parameter1, object parameter2)
		{
			this.FormatterType = formatterType.AssemblyQualifiedName;
			this.Parameters = new object[] {parameter1, parameter2};
		}

		public FormatterAttribute(System.Type formatterType, object parameter1, object parameter2, object parameter3)
		{
			this.FormatterType = formatterType.AssemblyQualifiedName;
			this.Parameters = new object[] {parameter1, parameter2, parameter3};
		}
	}
}
